﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace ReplaceCsv.ConvertMethods
{
    /// <summary>
    /// 数値上の全角カンマをとる
    /// </summary>
    class WCToN : ConvertColumn
    {
        /// <summary>
        /// 置換対象文字、数値(全角、半角は問わない）に挟まれた全角カンマ
        /// ※数値（１文字以上）後ろに数値（３文字）に挟まれた全角カンマ
        /// </summary>
        private Regex matcher = new Regex("([0-9０-９]+)，([0-9０-９]{3})");
        /// <summary>
        /// 置換後文字、消す
        /// </summary>
        private string replaceString = "$1$2";
        //後でdelegateに変更する。
        public string convert(string column)
        {
            string result = column;
            //数値の間のカンマは、１回１回先頭からチェックして変換するほうがいい
            while (matcher.IsMatch(result))
            {
                result = matcher.Replace(result, replaceString, 1);
            }
            return result;
        }
        /// <summary>
        /// 置換処理
        /// </summary>
        /// <param name="column"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public string convert(string column, Dictionary<Enum, Object> options)
        {
            //オプションはまだ何もなし。
            return this.convert(column);
        }
    }
}
